Skip to main content

Funds Lock - Mobile App

This flow is addressed to merchants whose payment flow is not unique but divided into two stages:

  1. Preauthorization of payment.
  2. Deferred Capture of Payment.

When creating the request, the merchant must indicate the amount to be pre-authorized and, if already known, may also indicate an estimate of the amount that will later be captured using the estimatedAmount parameter of the createMerchantPaymentRequest. Clearly, the latter parameter must be less than or equal to the amount to be pre-authorized. If this parameter remains null, the buyer will see the amount as 'to be defined' and will be told that the exact amount of the payment or win will be indicated to him later.

caution

A discount of 100% off the gross amount of the purchase should be applied to amounts associated with winning payouts. The amount is in fact paid by Maypay while the user does not pay. The amount paid by Maypay for each winning outcome is in the form of a reversal from the commissions retained by Maypay and allocated to the prize pool.

Read more

APIs required

Sequence Diagram

sequenceDiagram participant MA as Maypay App participant MS as Maypay Server participant ES as eCommerce Server participant EA as eCommerce App rect rgb(255, 255, 255) EA->>ES: Start Checkout activate ES ES->>MS: POST createMerchantPaymentRequest - flow Funds Lock - Mobile app activate MS MS->>ES: 201 CREATED - merchant deactivate MS ES->>EA: payment request id deactivate ES EA->>MA: MaypaySDK.openMaypay - payment request id MA->>MS:GET Payment Request activate MS MS->>MA: payment request deactivate MS MA->>MS:preauthorize payment request activate MS MS-->>MA: payment preauthorized MS-->>ES: payment preauthorized notification via callback url deactivate MS ES->>MS: POST - capturePaymentRequest activate MS MS->>ES: 200 OK - payment captured ES->>ES: order paid MS-->>MA: push notification - payment result deactivate MS MA->>MA: order completed EC->>ES: GET - Payment result activate ES ES->>EC: order completed deactivate ES end